package org.jeeasy.ai.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.autotable.annotation.ColumnType;
import org.dromara.mpe.autotable.annotation.Table;
import org.jeeasy.common.core.annotation.dict.Dict;
import org.jeeasy.common.core.base.BaseEntity;
import org.jeeasy.common.core.enums.EnableFlagEnum;

/**
 * AI 应用
 *
 * @author wei.yang
 * @date 2024-07-29 13:04:49
 */
@Data
@Table(value = "ai_chat_app", comment = "AI 应用")
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Schema(description = "AI 应用")
public class AiChatApp extends BaseEntity<AiChatApp> {

    /**
     * 版本
     */
    @Schema(description = "版本")
    @TableField(value = "version")
    private Integer version;

    /**
     * 启用标记
     */
    @Schema(description = "启用标记")
    @TableField(value = "enable_flag")
    @Dict(dictEnum = EnableFlagEnum.class)
    private Integer enableFlag;

    /**
     * 应用名称
     */
    @Schema(description = "应用名称")
    @TableField(value = "name")
    private String name;

    /**
     * 应用名称
     */
    @Schema(description = "应用代码")
    @TableField(value = "code")
    private String code;

    /**
     * 提示词
     */
    @Schema(description = "提示词")
    @TableField(value = "prompt")
    @ColumnType(value = "TEXT")
    private String prompt;

    /**
     * 模型
     */
    @Schema(description = "模型")
    @TableField(value = "model")
    private String model;

}
